/* 
* @Author: chenli
* @Date:   2017.8.9
*/

var TuHao = window.TuHao || {};
TuHao.Tool = new function () {
    var self = this;

    self.isBlank = function (object) {
        return  object === null || object === ""||typeof (object) === "undefined"||object === "undefined";
    };

    /**金额格式化
     * money：金额  n:小数点位数
     * 示例：999,999.99
     */
    self.formatMoney = function(money, n) {
        if (money == 0) {
            money = money + ".00";
        }
        else
            money = parseFloat((money + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
        var l = money.split(".")[0].split("").reverse(), r = money.split(".")[1];
        var t = "";
        for (var i = 0; i < l.length; i++) {
            t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
        }
        money = t.split("").reverse().join("") + "." + r;
        return money;
    };

    //验证输入框金额是否为数字的
    self.inputLimit = function(obj,type){
        if (type==1) {
            obj.value=obj.value.replace(/\D/g,'')
        }else{
            obj.value = obj.value.replace(/^0+(\d+)/, '$1'); //不能输入 类似00、01、0000001的数值
            obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
            obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字而不是
            obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的
            obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");//保持整个数据只能有一个小数点
            obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
        }
    }
};

//通用日期格式化方法
//对Date的扩展，将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
//年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
//例子：
//(new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
//(new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { // author: meizz
    var o = {
        "M+": this.getMonth() + 1, // 月份
        "d+": this.getDate(), // 日
        "h+": this.getHours(), // 小时
        "m+": this.getMinutes(), // 分
        "s+": this.getSeconds(), // 秒
        "q+": Math.floor((this.getMonth() + 3) / 3), // 季度
        "S": this.getMilliseconds()
        // 毫秒
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "")
            .substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k])
                : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
};

/**金额格式化
 * money：金额  n:小数点位数
 * 示例：999,999.99
 */
// TODO 该方法没有测试
Number.prototype.format = function(n){
    var money = this;
    if (this == 0) {
        money = money + ".00";
    }
    else
        money = parseFloat((money + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
    var l = money.split(".")[0].split("").reverse(), r = money.split(".")[1];
    var t = "";
    for (var i = 0; i < l.length; i++) {
        t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
    }
    money = t.split("").reverse().join("") + "." + r;
    return money;
};

TuHao.BJUI = new  new function () {
    var self = this;
    self.datagrid = function (options) {
        var defaultOptions = {
            height: '100%',
            tableWidth: '100%',
            showToolbar: true,
            toolbarItem: "refresh,|,del",
            filterThead: false,
            delPK: 'id',
            local: "remote",
            inlineEditMult: false,
            saveAll: false,
            addLocation: 'last',
            delConfirm: true
        };
    };
};
